package com.jt.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jt.pojo.Order;
import com.jt.pojo.OrderComment;
import com.jt.pojo.OrderItem;

/**
 * @author dc
 * @Classname DubboOrderService
 * @Date 2020/2/29 15:45
 */
public interface DubboOrderService {
    /**
     * 进行订单,订单物流信息,订单商品信息表的入库操作
     * @param order 前台订单信息
     * @return 订单信息
     */
    Order saveOrder(Order order);

    /**
     * 根据订单id查询商品信息
     * @param id 订单id
     * @return 订单信息
     */
    Order findOrderById(String id);

    /**
     * 根据用户信息分页查询订单
     * @param userId 用户id
     * @param keyword 搜索关键词
     * @param page 当前页
     * @param rows 每页记录数
     * @return 分页记录
     */
    IPage<Order> findOrderByUserId(Long userId,String keyword,Integer page,Integer rows);


    /**
     * 根据订单号以及商品编号查询商品信息，并在评论中展示
     * @param itemId 商品id
     * @param orderId 订单id
     * @return 订单商品
     */
    OrderItem findItemByItemId(String itemId,String orderId);

    /**
     * 存入订单商品评论
     * @param orderComment
     */
    void saveOrderComment(OrderComment orderComment);

    /**
     * 根据商品id，订单id查询是否已经评价
     * @param itemId 商品id
     * @param orderId 订单id
     * @return 记录数
     */
    OrderComment findOrderComment(String itemId, String orderId);
}
